package org.dromara.nursing.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.nursing.domain.MsHealthCheck;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 健康监测视图对象 ms_health_check
 *
 * @author Lion Li
 * @date 2025-04-23
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = MsHealthCheck.class)
public class MsHealthCheckVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * 老人姓名
     */
    @ExcelProperty(value = "老人姓名")
    private String elderName;

    /**
     * 检查日期
     */
    @ExcelProperty(value = "检查日期")
    private Date checkDate;

    /**
     * 身高(cm)
     */
    @ExcelProperty(value = "身高(cm)")
    private Long height;

    /**
     * 体重(kg)
     */
    @ExcelProperty(value = "体重(kg)")
    private Long weight;

    /**
     * BMI指数
     */
    @ExcelProperty(value = "BMI指数")
    private Long bmi;

    /**
     * 收缩压(mmHg)
     */
    @ExcelProperty(value = "收缩压(mmHg)")
    private Long bloodPressureHigh;

    /**
     * 舒张压(mmHg)
     */
    @ExcelProperty(value = "舒张压(mmHg)")
    private Long bloodPressureLow;

    /**
     * 脉搏(次/分)
     */
    @ExcelProperty(value = "脉搏(次/分)")
    private Long pulse;

    /**
     * 血糖(mmol/L)
     */
    @ExcelProperty(value = "血糖(mmol/L)")
    private Long bloodSugar;

    /**
     * 血氧饱和度(%)
     */
    @ExcelProperty(value = "血氧饱和度(%)")
    private Long bloodOxygen;

    /**
     * 体温(℃)
     */
    @ExcelProperty(value = "体温(℃)")
    private Long temperature;

    /**
     * 心率(次/分)
     */
    @ExcelProperty(value = "心率(次/分)")
    private Long heartRate;

    /**
     * 呼吸频率(次/分)
     */
    @ExcelProperty(value = "呼吸频率(次/分)")
    private Long respiratoryRate;

    /**
     * 血脂情况
     */
    @ExcelProperty(value = "血脂情况")
    private String bloodLipid;

    /**
     * 肝功能
     */
    @ExcelProperty(value = "肝功能")
    private String liverFunction;

    /**
     * 肾功能
     */
    @ExcelProperty(value = "肾功能")
    private String kidneyFunction;

    /**
     * 健康状态
     */
    @ExcelProperty(value = "健康状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_jkzt")
    private String healthStatus;

    /**
     * 异常项目
     */
    @ExcelProperty(value = "异常项目")
    private String abnormalItems;

    /**
     * 检查人姓名
     */
    @ExcelProperty(value = "检查人姓名")
    private String doctor;

    /**
     * 医疗建议
     */
    @ExcelProperty(value = "医疗建议")
    private String suggestions;

    /**
     * 下次检查日期
     */
    @ExcelProperty(value = "下次检查日期")
    private Date nextCheckDate;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;

    /**
     * 记录创建用户ID(数据权限过滤)
     */
    private Long healthCheckUserId;

    /**
     * 特殊需求
     */
    // ... existing code ...
}
